// 代理模式。保证目标方法的调用模式，在方法执行前/后增加逻辑
class TheShow {
    enter(pay) {
        console.log("成功入场，准备观看演唱会");
    }
}

// 黄牛
class Cattle {
    constructor() {
        this.theshow = new TheShow();
    }
    enter(pay) {
        if (pay > 1000) {
            this.theshow.enter(pay);
        } else {
            console.log("钱太少了，你不能进去");
        }
    }
}

function main() {
    let c = new Cattle();
    c.enter(500);
    c.enter(10001);
}

main();
